solving derivatives